`:top
`!Nachrichtenorientierte Middleware`! bzw. `!Message Oriented Middleware`! (`!MOM`!) bezeichnet `F33f`_`[Middleware`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Middleware]`_`f, die auf der `F33f`_`[asynchronen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Asynchrone_Kommunikation]`_`f oder `F33f`_`[synchronen Kommunikation`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Synchrone_Kommunikation]`_`f, also der Übertragung von `F33f`_`[Nachrichten`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Nachricht]`_`f (`F33f`_`[englisch`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Englische_Sprache]`_`f `*messages`*) beruht. Das Format für die Nachrichten ist nicht festgelegt, in der Praxis hat sich jedoch `F33f`_`[XML`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Extensible_Markup_Language]`_`f als beliebtes Format etabliert.
MOM unterstützt drei verschiedene Kommunikationsprotokolle
• `F33f`_`[Message Passing`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Nachrichtenaustausch]`_`f (Direkte Kommunikation zwischen Anwendungen)
• Message Queueing (Indirekte Kommunikation über eine `F33f`_`[Warteschlange`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Warteschlange_(Datenstruktur)]`_`f)
• `F33f`_`[Publish & Subscribe`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Beobachter_(Entwurfsmuster)]`_`f (Herausgeber stellt dem Abonnenten Nachrichten zur Verfügung)
>>Contents
• `F0af`_`[Vorteile`#vorteile]`_`f
• `F0af`_`[Nachteile`#nachteile]`_`f
• `F0af`_`[Standards und Formate`#standards-und-formate]`_`f
• `F0af`_`[MOM-Produkte`#mom-produkte]`_`f
• `F0af`_`[Siehe auch`#siehe-auch]`_`f
• `F0af`_`[Weblinks`#weblinks]`_`f
• `F0af`_`[Einzelnachweise`#einzelnachweise]`_`f
-─
>>Vorteile
• Asynchrone/synchrone Kommunikation
• Server/Dienst muss nicht sofort verfügbar sein
• Message-Warteschlangen
• Meist schnellere Ausführung als Funktionsaufruf-basierte Programme
• `F33f`_`[Lose Kopplung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Lose_Kopplung]`_`f von Server/Clients
• Mehr Toleranz für Änderungen der bestehenden Funktionen
• Verbesserte Verfügbarkeit der Systeme
• Parallele Verarbeitung von Nachrichten möglich
>>Nachteile
• Ausfall der MOM legt alle angeschlossenen Systeme lahm
• `F33f`_`[Designen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Entwurf]`_`f, `F33f`_`[Testen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Testen]`_`f, `F33f`_`[Debuggen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Debuggen]`_`f und Entwicklung der Bauteile sind für Synchron-Programmierer ungewohnt
>>Standards und Formate
`!Message Oriented Middleware mit XML`!
Der Einsatz von XML als Sprachbasis für die Nachrichten bei Message Oriented Middleware ist in der Praxis weit verbreitet. Aufgrund des vergleichsweise selbsterklärenden und im Gegensatz zu Nachrichten im Binärformat leicht menschenlesbaren Formats ist es beim Einsatz von XML relativ einfach, auch die Kommunikation zwischen Middleware-Systemen zu ermöglichen, wenn sie unterschiedliche Sprachen verwenden, solange die Sprachen XML-basiert sind. Um die Kommunikation zu ermöglichen, kann ein `F33f`_`[XSLT-Prozessor`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=XSLT-Prozessor]`_`f als Übersetzer zwischengeschaltet werden, der mit Hilfe eines Transformations-Stylesheets Nachrichten von der XML-basierten Sprache des Quellsystems in die Sprache des Zielsystems übersetzt. Als Protokoll wird häufig `F33f`_`[SOAP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=SOAP]`_`f eingesetzt.
`!XML`!
Die `F33f`_`[Auszeichnungssprache`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Auszeichnungssprache]`_`f `F33f`_`[XML`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Extensible_Markup_Language]`_`f ist heute in der Informationstechnik weit verbreitet und wird in zahlreichen Anwendungsgebieten eingesetzt. Sie ist keine konzeptionelle Voraussetzung für einen `F33f`_`[Enterprise Service Bus`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Enterprise_Service_Bus]`_`f (ESB), wird aber in der Mehrheit der ESB-Produkte und der realisierten ESBs in Anwendungslandschaften vielfältig eingesetzt. Sie dient häufig als vereinheitlichtes `F33f`_`[Datenformat`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Datenformat]`_`f, in dem Nachrichten über den `*Message Bus`* im Kern eines ESB übermittelt werden, aber auch als Format für den Austausch von Nachrichten zwischen Diensten und dem `*Message Bus`* über die entsprechenden Endpunkte und Adapter. Weiter findet sie Verwendung in der Beschreibung von Schnittstellen, zum Beispiel mit der Schnittstellenspezifikationssprache `F33f`_`[WSDL`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Web_Services_Description_Language]`_`f.
`!XPath und XQuery`!
`F33f`_`[XPath`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=XPath]`_`f und `F33f`_`[XQuery`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=XQuery]`_`f sind `F33f`_`[Abfragesprachen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Abfragesprache]`_`f, mit denen Teile von XML-Dokumenten abgefragt und extrahiert werden können. Sie sind keine Voraussetzung für einen ESB, werden aber in ESBs häufig im Kontext der Routingdienste eingesetzt. Routingregeln, die auf Steuerdaten oder Inhalten von Nachrichten beruhen, sind oft als XPath- bzw. XQuery-Ausdrücke über diese Nachrichten formuliert.
`!XSLT`!
`F33f`_`[XSL Transformation`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=XSL_Transformation]`_`f (XSLT) ist eine `F33f`_`[Programmiersprache`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmiersprache]`_`f zur `F33f`_`[Transformation`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Konvertierung_(Informatik)]`_`f von XML-Dokumenten. XSLT ist keine technologische Voraussetzung für einen ESB. Die Sprache wird aber häufig in Transformationsdiensten verwendet, namentlich wenn ein ESB XML als vereinheitlichtes Datenformat nutzt.
`!SIP`!
`F33f`_`[Session Initiation Protocol`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Session_Initiation_Protocol]`_`f (SIP) steuert durch asynchrone Nachrichten den Verbindungsaufbau und Verbindungsabbau von `F33f`_`[Voice-over-IP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=IP-Telefonie]`_`f Sprachkommunikation. SIP wird bei `F33f`_`[3rd Generation Partnership Project`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=3rd_Generation_Partnership_Project]`_`f (3GPP) als Protokoll für Multimediaunterstützung im 3G-Mobilfunk (`F33f`_`[UMTS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Universal_Mobile_Telecommunications_System]`_`f) benutzt. In der `F33f`_`[Telekommunikationstechnik`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Telekommunikation]`_`f ist SIP Teil der control plane. Sprach- oder Multimedia-Daten sind Teil der data plane.
`!JMS`!
`F33f`_`[Java Message Service`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Message_Service]`_`f (JMS) ist eine standardisierte `F33f`_`[Programmierschnittstelle`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmierschnittstelle]`_`f, um aus `F33f`_`[Java`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_(Technik)]`_`f-basierten Anwendungen Nachrichten über einen `*Message Bus`* versenden und empfangen zu können. Sie ist keine Voraussetzung für einen ESB. ESBs, die stark in der Java-Welt verankert sind, zum Beispiel, weil sie selbst in Java implementiert sind, bieten oft Standard-Adapter und Standard-Endpunkte an, damit Dienste den ESB über JMS nutzen können.
JMS ist der am weitesten verbreitete Standard für MOMs und wird von fast allen Herstellern unterstützt.
`!SOAP`!
`F33f`_`[SOAP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=SOAP]`_`f ist ein `F33f`_`[Netzwerkprotokoll`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Netzwerkprotokoll]`_`f, mit dessen Hilfe `F33f`_`[Daten`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Daten]`_`f zwischen `F33f`_`[Systemen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=System]`_`f ausgetauscht und Dienstschnittstellen von entfernten Diensten genutzt werden können. SOAP basiert auf weit verbreiteten Technologien, zum Beispiel `F33f`_`[HTTP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Hypertext_Transfer_Protocol]`_`f und `F33f`_`[SMTP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Simple_Mail_Transfer_Protocol]`_`f als Protokollen, XML als Datenformat oder `F33f`_`[WSDL`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Web_Services_Description_Language]`_`f als Sprache für die Schnittstellenspezifikation. Dienste, die ihre Schnittstellen mit Hilfe dieser Technologien zugänglich machen, nennt man Webdienste oder `F33f`_`[Webservices`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Webservice]`_`f. Das Konzept des `*Enterprise Service Bus`* ist nicht auf Webservices oder die Technologie SOAP beschränkt. In der Praxis integriert ein ESB aber oft verteilte Dienste, indem es sie mit SOAP-Adaptern an den zentralen `*Message Bus`* anbindet.
`!AMQP`!
`F33f`_`[Advanced Message Queuing Protocol`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Advanced_Message_Queuing_Protocol]`_`f (AMQP) ist ein in Entwicklung befindliches Wirelevel-Protokoll, das von einem Konsortium von über 20 Mitgliedern (u. a. `F33f`_`[JP Morgan`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=JPMorgan_Chase]`_`f, `F33f`_`[Microsoft`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Microsoft]`_`f, `F33f`_`[Red Hat`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Red_Hat]`_`f) entwickelt wird. Im Mai 2010 wurde der Draft (Entwurf) der Version 1 veröffentlicht. Um der großen Verbreitung von JMS Rechnung zu tragen, sind alle JMS Funktionen in dem Protokoll eingearbeitet. Dies ermöglicht es den Entwicklern, weiter die JMS Schnittstelle zu nutzen, während sich MOMs untereinander mit AMQP verständigen können.
`!JBI`!
Mit `F33f`_`[Java Business Integration`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Business_Integration]`_`f (JBI) bezeichnet man einen Standard, der im Rahmen des `*`F33f`_`[Java Community Process`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Community_Process]`_`f`* (JCP) unter der Nummer JSR 208 veröffentlicht wurde.`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f] Das Dokument standardisiert einen Teil der Architektur eines `*Enterprise Service Bus`* für ein bestimmtes technisches Umfeld, nämlich Softwareentwicklung und `F33f`_`[IT-Architektur`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=IT-Architektur]`_`f basierend auf der `F33f`_`[Java Platform, Enterprise Edition`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Platform,_Enterprise_Edition]`_`f (Jakarta EE). Es detailliert namentlich die Architektur des Subsystems eines ESB, das Chappell`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f] als `*service container`* bezeichnet hat.`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f]
`!Apache OpenWire`!
Ein Wirelevel Protokoll, bisher nur von Apache ActiveMQ unterstützt.
`!Apache Streaming Text Oriented Messaging Protocol (Stomp)`!
Sehr einfaches Text-basiertes Protokoll. Native Unterstützung durch ActiveMQ (angekündigt für RedHat HornetQ) und xmlBlaster. Es wird jedoch ein Adapter für JMS Middleware angeboten, sodass STOMP Clients über eine JMS Middleware kommunizieren können. Dabei ist aber zu beachten, dass dieses (durch den mangelnden Funktionsumfang von STOMP) nur in eine Richtung (STOMP → JMS) funktioniert.
`!Digistan RestMS (RESTful Messaging Service)`!
RestMS arbeitet über reines HTTP/HTTPS und ist für Webanwendungen gedacht. Bisher existieren drei Implementierungen. Außerdem sind Umsetzungen für AMQP 0.9.1 implementiert.
>>MOM-Produkte
Die folgenden Produkte sind eine willkürliche Auswahl von MOM-Produkten am Markt:
• `F33f`_`[Websphere MQ`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Websphere]`_`f von `F33f`_`[IBM`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=IBM]`_`f (früher `F33f`_`[MQSeries`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=MQSeries]`_`f)
• `F33f`_`[Apache ActiveMQ`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Apache_ActiveMQ]`_`f als `F33f`_`[JMS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Message_Service]`_`f-Broker wahlweise auch mit `F33f`_`[Apache Camel`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Apache_Camel]`_`f (beides von der `F33f`_`[Apache Software Foundation`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Apache_Software_Foundation]`_`f)
• `F33f`_`[RabbitMQ`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=RabbitMQ]`_`f als `F33f`_`[AMQP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=AMQP]`_`f-Broker
• `F33f`_`[SAP Process Integration`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=SAP_Process_Integration]`_`f der `F33f`_`[SAP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=SAP]`_`f
• Alle `F33f`_`[Jakarta EE`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Jakarta_EE]`_`f-`F33f`_`[Anwendungsserver`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Anwendungsserver]`_`f (durch JMS-Unterstützung)
• Microsoft Message Queue / `F33f`_`[Microsoft Message Queue Server`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Microsoft_Message_Queue_Server]`_`f
>>Siehe auch
• `F33f`_`[Enterprise Service Bus`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Enterprise_Service_Bus]`_`f – basiert weitgehend auf MOM
• `F33f`_`[Java Business Integration`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Business_Integration]`_`f (`F33f`_`[JSR`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Specification_Request]`_`f 208) – umfasst eine MOM-Architektur
>>Weblinks
• `*Message Oriented Middleware am Beispiel von XMLBlaster`*. (PDF; 577 kB) – `F33f`_`[Universität Bielefeld`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Universität_Bielefeld]`_`f, Vortrag im Seminar XML und intelligente Systeme
>>Einzelnachweise
`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f Ten-Hove 2005
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f Chappell 2004
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f Ten-Hove 2005, S. 8. „JBI defines what is sometimes termed a ‚service container‘ in Enterprise Service Bus (ESB) systems.“
`c`F0af`_`[↑ Back to top`#top]`_`f`a